package com.newtouch.bxzs.business.train.model.vo;

import com.newtouch.bxzs.common.base.model.UserAchievement;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 *
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/2/24 13:33</td>
 * <td>wangzhen</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author wangzhen
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
@ApiModel("机构业绩统计VO类")
public class PerformanceVO implements Serializable {
    /** serialVersionUID */
    private static final long serialVersionUID = -2297675964964088040L;

    @ApiModelProperty(value = "业绩年月开始时间选择",required = true)
    @NotNull(message = "业绩开始时间不能为空")
    private String startTime;

    @ApiModelProperty(value = "业绩年月结束时间选择",required = true)
    @NotNull(message = "业绩开始时间不能为空")
    private String endTime;

    @ApiModelProperty(value = "保险公司选择",required = true)
    private String dataSource;

    @ApiModelProperty(value = "机构选择",required = true)
    private String userOrganization;

    @ApiModelProperty(value = "展示类型 1-月份  2-机构  3-保险  4-成员",required = true)
    @NotNull(message = "展示类型不能为空")
    private Integer performanceType;

    @ApiModelProperty(value = "展示方式  1-图形  2-表格 ",required = true)
    private Integer showType;

    @ApiModelProperty(value = "查询所有数据 1-初次进入展示全部信息  ",required = true)
    private Integer all;

    public UserAchievement build(){
        UserAchievement userAchievement = new UserAchievement();
        BeanUtils.copyProperties(this,userAchievement);
        return userAchievement;
    }

    public PerformanceVO() {
    }

}
